The World Wide Web (or “Web”) contains a vast amount of information in the form of hyperlinked documents (e.g., web pages) loosely-organized and accessed through a data communication network (or “Internet”). Diverse computer networks use a communication protocol to coordinate the exchange of information. For example, the Internet uses a protocol known as Transmission Control Protocol/Internet Protocol (TCP/IP). The Internet, typically accessed through an electronic link from a computer which has an identifiable Internet address and a TCP/IP communications capability, uses a client-server model of computer hierarchy. The server provides information commonly presented in the form of viewable web pages, and the client being a computer retrieving the information (i.e., selecting and displaying desired web pages). Various information exchanges on the Internet are available, including File Transfer Protocol (FTP), which refers to moving files from one place to another on the Internet. The files may contain electronic documents, images, sounds, video, etc.
One of the reasons for the virtually explosive growth in the number of hyperlinked documents on the Web is that just about anyone can upload hyperlinked documents, which can include links to other hyperlinked documents. The unstructured nature and sheer volume of web pages available via the Internet makes it difficult to navigate efficiently through related information while avoiding unrelated information.
One conventional way to navigate a computer network (e.g., the internet) is from node to node (e.g., web page to web page), through a directory tree structure. A node address for a node connected to the present node is provided to progress along a path toward a desired destination. Nodes may be physical such as computers, or logical such as one of many web pages or Internet sites within a computer. In contrast, through hypertext links, one can “jump” from one place of information on the internet to another, hypertext links essentially being “short-cuts” directly to a desired information destination. The destination need not be immediately connected to the present computer or web page, and may be physically located half-way around the world form the physical location of the present computer or web page.
A user typically begins a search using a search engine. A search engine attempts to return relevant information in response to a request from a user. This request usually comes in the form of a query (e.g., a set of words that are related to a desired topic). Search engines typically return a number of links to web pages, with a brief description of those pages. Because the vast number of pages on the Web, ensuring that the returned pages are relevant to the topic the user had in mind is a central problem in web searching.
Latency is currently a significant problem for Internet users. Web pages can take several seconds to load because of servers slowed from overloading, congested data network paths, data packet routing delays and “DNS” look-up issues. This problem is particularly significant for the vast majority of home-based users, who connect to the Internet via a limited bandwidth modem over a telephony network. This problem also affects high-bandwidth users, where the network and server latency can be a bigger bottleneck than the network bandwidth.
As the size of the Web continues to increase, it becomes increasingly more desirable to have innovative techniques for efficiently navigating, downloading and viewing hyperlinked documents.